<?php
/**
 * @desc   xmsb_wordToPdf         将word转换为pdf
 * @param  string    $wordPath    word原文件路径
 * @param  string    $outPath     pdf输出路径
 * @return string
 */
function xmsb_wordToPdf($wordPath, $outPath)
{
    // 原文件不存在则返回错误
    if(!file_exists($wordPath)) 
    {
        return 'word原文件不存在';
    }
    
    // 输出目录不存在则创建目录
    if(!file_exists($tmpPath = rtrim($outPath, basename($outPath))))
    {
        mkdir($tmpPath, 0777, true);
    }
    
    $filenamedoc = dirname(__FILE__)."/".$wordPath;
    $filenamepdf = dirname(__FILE__)."/".$outPath;
    
    // 删除已有同名文件
    if(file_exists($filenamepdf)) 
    {
        unlink($filenamepdf);
    }
    
    // 执行转换操作
    $word = new COM("word.Application") or die("Could not initialise Object");
    $word->Documents->Open($filenamedoc);
    $word->ActiveDocument->ExportAsFixedFormat($filenamepdf, 17, false, 0, 0, 0, 0, 7, true, true, 2, true, true, false);
    $word->Quit(false);
    unset($word);
    
    // 在页面中显示生成的pdf
    // header('Content-type: application/pdf');
    // header('filename='.$filenamepdf);
    // readfile($filenamepdf);
    
    // return '转换成功';
    return $outPath;
}

// 测试运行
// echo xmsb_wordToPdf('./word/word1.docx', './pdf/output1.pdf');
$downOut =  xmsb_wordToPdf('./word/word1.docx', './pdf/output2.pdf');

echo $downOut;


//在线预览pdf
// $fp = fopen("http://localhost/exercies/php/soap/demo1/pdf/output1.pdf", "r");
// header("Content-type: application/pdf");
// fpassthru($fp);
// fclose($fp);
// function open ()
// $word->Documents->Open($filenamedoc);


//在线下载pdf
  // header('Content-type: application/pdf');
  // // header('Content-Disposition: attachment; filename="'.$noticeInfo['pdf_name'].'"');
  // header('Content-Disposition: attachment; filename="output1.pdf"');
  // echo file_get_contents("http://localhost/exercies/php/soap/demo1/pdf/output1.pdf");
